1. Field of the Invention
The present invention generally relates to the fields of predictive modeling and hydrocarbon, e.g., oil and/or natural gas, production, and more particularly to parameterization of stead-state empirical models of in-situ hydrocarbon reservoirs with derivative constraints.
2. Description of the Related Art
Many systems or processes in science, engineering, and business are characterized by the fact that many different inter-related parameters contribute to the behavior of the system or process. It is often desirable to determine values or ranges of values for some or all of these parameters which correspond to beneficial behavior patterns of the system or process, such as productivity, profitability, efficiency, etc. However, the complexity of most real world systems generally precludes the possibility of arriving at such solutions analytically, i.e., in closed form. Therefore, many analysts have turned to predictive models and optimization techniques to characterize and derive solutions for these complex systems or processes.
Predictive models generally refer to any representation of a system or process which receives input data or parameters related to system or model attributes and/or external circumstances/environment and generates output indicating the behavior of the system or process under those parameters. In other words, the model or models may be used to predict behavior or trends based upon previously acquired data. There are many types of predictive models, including linear, non-linear, analytic, and empirical models, among others, several types of which are described in more detail below.
Optimization generally refers to a process whereby past (or synthesized) data related to a system or process are analyzed or used to select or determine optimal parameter sets for operation of the system or process. For example, the predictive models mentioned above may be used in an optimization process to test or characterize the behavior of the system or process under a wide variety of parameter values. The results of each test may be compared, and the parameter set or sets corresponding to the most beneficial outcomes or results may be selected for implementation in the actual system or process.
FIG. 1A illustrates a general optimization process as applied to an industrial process 104, such as a manufacturing plant, according to the prior art. It may be noted that the optimization techniques described with respect to the manufacturing plant are generally applicable to all manner of systems and processes.
As FIG. 1A shows, the operation of the process 104 generates information or data 106 which is typically analyzed and/or transformed into useful knowledge 108 regarding the system or process. For example, the information 106 produced by the process 104 may comprise raw production numbers for the plant which are used to generate knowledge 108, such as profit, revenue flow, inventory depth, etc. This knowledge 108 may then be analyzed in the light of various goals and objectives 112 and used to generate decisions 110 related to the operation of the system or process 104 subject to various goals and objectives 112 specified by the analyst. As used herein, an “objective” may include a goal or desired outcome of an optimization process. Example goals and objectives 112 may include profitability, schedules, inventory levels, cash flow, revenue growth, risk, or any other attribute which the user may wish to minimize or maximize. These goals and objectives 112 may be used to select from among the possible decisions 110, where the decisions may comprise various parameter values over which the user may exercise control. The selected decision(s) may then determine one or more actions 114 to be applied to the operation of the system or process 104. The subsequent operation of the system or process 104 then generates more information 106, from which further knowledge 108 may be generated, and so on in an iterative fashion. In this way, the operation of the process 104 may be “tuned” to perform in a manner which most closely meets the goals and objectives of the business or enterprise.
FIG. 1B illustrates an optimization system where a computer based optimization system 102 operates in conjunction with a process 104 to optimize the process, according to the prior art. In other words, the computer system 102 executes software programs (including computer based predictive models) which receive process data 106 from the process 104 and generate optimized decisions and/or actions which may then be applied to the process 104 to improve operations based on the goals and objectives.
Thus, many predictive systems may be characterized by the use of an internal model which represents a process or system 104 for which predictions are made. As mentioned above, predictive model types may be linear, non-linear, stochastic, or analytical, among others. However, for complex phenomena non-linear models may generally be preferred due to their ability to capture non-linear dependencies among various attributes of the phenomena. Examples of non-linear models may include neural networks and support vector machines (SVMs).
The types of models used in optimization systems include fundamental or analytic models which use known information about the process 104 to predict desired unknown information, such as product conditions and product properties. A fundamental model may be based on scientific and engineering principles. Such principles may include the conservation of material and energy, the equality of forces, and so on. These basic scientific and engineering principles may be expressed as equations which are solved mathematically or numerically, usually using a computer program. Once solved, these equations may give the desired prediction of unknown information.
Conventional computer fundamental models have significant limitations, such as:                (1) They may be difficult to create since the process may be described at the level of scientific understanding, which is usually very detailed;        (2) Not all processes are understood in basic engineering and scientific principles in a way that may be computer modeled;        (3) Some product properties may not be adequately described by the results of the computer fundamental models; and        (4) The number of skilled computer model builders is limited, and the cost associated with building such models is thus quite high.        
These problems result in computer fundamental models being practical only in some cases where measurement is difficult or impossible to achieve.
Empirical models, also referred to as computer-based statistical models, may also be used to model the system or process 104 in an optimization system. Such models typically use known information about process to determine desired information that may not be easily or effectively measured. A statistical empirical model may be based on the correlation of measurable process conditions or product properties of the process. Examples of computer-based empirical or statistical models include neural networks and support vector machines.
For one example of a use of a computer-based statistical model, assume that it is desired to be able to predict the color of a plastic product. This is very difficult to measure directly, and takes considerable time to perform. In order to build a computer-based statistical model which may produce this desired product property information, the model builder would need to have a base of experience, including known information and actual measurements of desired unknown information. For example, known information may include the temperature at which the plastic is processed. Actual measurements of desired unknown information may be the actual measurements of the color of the plastic.
A mathematical relationship (i.e., an equation) between the known information and the desired unknown information may be created by the developer of the empirical statistical model. The relationship may contain one or more parameters or constants (which may be assigned numerical values) which affect the value of the predicted information from any given known information. In an analytic model these parameters are referred to as coefficients. A computer program may use many different measurements of known information, with their corresponding actual measurements of desired unknown information, to adjust these constants so that the best possible prediction results may be achieved by the empirical statistical model. Such a computer program, for example, may use non-linear regression or any of various other techniques to determine the values of the parameters.
Computer-based statistical models may sometimes predict product properties which may not be well described by computer fundamental models. However, there may be significant problems associated with computer statistical models, which include the following:                (1) Computer statistical models require a good design of the model relationships (i.e., the equations) or the predictions may be poor;        (2) Statistical methods used to adjust the constants typically may be difficult to use;        (3) Good adjustment of the constants may not always be achieved in such statistical models; and        (4) As is the case with fundamental models, the number of skilled statistical model builders is limited, and thus the cost of creating and maintaining such statistical models is high.        
Predictive model types also include procedural or recipe based models. These models typically comprise a number of steps whose performance emulates or models the phenomenon or process. Thus, procedural or recipe models are not based on understanding of the fundamental processes of a system, but instead, are generally constructed with an empirical or emulative approach.
Generally, a model is parameterized or trained with training data, e.g., historical or synthesized data, in order to reflect salient attributes and behaviors of the phenomena being modeled. In the parameterizing or training process, sets of training data may be provided as inputs to the model, and the model output may be compared to corresponding sets of desired outputs. The resulting error is often used to adjust weights or coefficients in the model until the model generates the correct output (within some error margin) for each set of training data. The model is considered to be in “training mode” during this process. After parameterization, the model may receive real-world data as inputs, and provide predictive output information which may be used to control or make decisions regarding the modeled phenomena.
Generally, to parameterize a predictive model, historical data are gathered, e.g., information generated by the system or process 104 in previous operations. The historical data are typically preprocessed to put the data into a form useful for creating, parameterizing, and/or training a predictive model. The predictive model is then created, parameterized, and/or trained. As mentioned above, the predictive model could be any of a variety of model types, depending upon the particular application and/or available resources. The model may then be analyzed. In other words, various tools may be applied to discover the behavior of the model. In response to this analysis, the model may be modified or tuned to more accurately represent the phenomenon, system, or process being modeled. Further historical data may then be used to further parameterize or train the model, and the model analyzed and modified to further refine the model behavior. This process may be performed iteratively until the model is parameterized or trained appropriately.
Finally, once the model has been parameterized or trained, the model may be deployed. For example, the model may be included in an optimization system 100 which is coupled to a real world process or system 104, as described above with reference to FIGS. 1A and 1B.
In one application of optimization techniques, predictive models may be used by a decision-maker associated with an operation or enterprise to select an optimal course of action or optimal course of decision. The optimal course of action or decision may include a sequence or combination or actions and/or decisions. For example, optimization may be used to select an optimal course of action for production of hydrocarbons, e.g., petroleum or oil, natural gas, etc., from a reservoir, such as determining when and where to drill wells, what pressures to maintain, and so forth.
As used herein, “decision variables” are those variables that the decision-maker may change to affect the outcome of the optimization process 100. For example, in the hydrocarbon reservoir example, pressure and injection flows may be decision variables. As used herein, “external variables” are those variables that are not under the control of the decision-maker. In other words, the external variables are not changed in the decision process but rather are taken as givens. For example, external variables may include variables such as hydrocarbon production or output.
FIG. 2 is a block diagram of a predictive model 215 as used in an optimization system 100, according to the prior art. As FIG. 2 shows, the model 215 may receive input in the form of external variables 212 and decision variables 214, defined above, and generate action variable 218. As used herein, “action variables” are those variables that propose or suggest a set of actions for an input set of decision and external variables. In other words, the action variables may comprise predictive metrics for a behavior. For example, in the optimization of a hydrocarbon production operation, the action variables may include the productivity of an oil or gas well or group of wells.
Thus, predictive models may be used for analysis, control, and decision making in many areas, including hydrocarbon production, manufacturing, process control, plant management, quality control, optimized decision making, e-commerce, financial markets and systems, or any other field where predictive modeling may be useful.
FIGS. 3A and 3B illustrate a general optimization system and process using predictive models with an optimizer to generate optimal decision variables, according to the prior art.
FIG. 3A is a block diagram which illustrates an overview of optimization according to the prior art. As shown in FIG. 3A, an optimization process 100 may accept the following elements as input: information 302, such as oil well or reservoir conditions, predictive model(s) such as hydrocarbon reservoir or well model(s) 304, and one or more constraints and/or objectives 306, such as injection rates, mass balances, and desired production rates or profitability. As used herein, a “constraint” may include a limitation on the outcome of an optimization process. Constraints are typically “real-world” limits on the decision variables and are often critical to the feasibility of any optimization solution. Managers who control resources and capital or are responsible for financial effects or results may be involved in setting constraints that accurately represent their real-world environments. Setting constraints with management input may realistically restrict the allowable values for the decision variables. The optimization process 100 may produce as output an optimized set of decision variables 312. In a hydrocarbon reservoir example, each of the predictive model(s) 304 may be an oil or gas well model, and may correspond to a different well 302.
FIG. 3B illustrates data flow in the optimization system of FIG. 3A. As FIG. 3B shows, the information 202 typically includes decision variables 214 and external variables 212, as described above. The information 302, including decision variables 214 and external variables 212, is input into the predictive model(s) 304 to generate the action variables 218. In this example, each of the predictive model(s) 304 may correspond to one of the oil or reservoir conditions 302, where each of the conditions 302 includes appropriate decision variables 214 and external variables 212. As mentioned above, the predictive model(s) 304 may include well or reservoir model(s) as well as other models. The predictive model(s) 304 can generally take any of several forms, as described above, including trained neural nets, statistical models, analytic models, and any other suitable models for generating predictive metrics, and may take various forms including linear or non-linear, or may be derived from empirical data or from managerial judgment.
As FIG. 3B shows, the action variables 218 generated by the model(s) 304 are used to formulate constraint(s) and the objective function 306 via formulas. For example, a data calculator 320 generates the constraint(s) and objective 306 using the action variables 218 and potentially other data and variables. The formulations of the constraint(s) and objective 306 may include financial formulas such as formulas for determining net operating income over a certain time period. The constraint(s) and objective 306 may be input into an optimizer 324, which may comprise, for example, a custom-designed process or a commercially available “off the shelf” product. The optimizer may then generate the optimal decision variables 312 which have values optimized for the goal specified by the objective function and subject to the constraint(s) 306. A further understanding of the optimization process 100 may be gained from the references “An Introduction to Management Science: Quantitative Approaches to Decision Making”, by David R. Anderson, Dennis J. Sweeney, and Thomas A. Mayiams, West Publishing Co. (1991); and “Fundamentals of Management Science” by Efraim Turban and Jack R. Meredith, Business Publications, Inc. (1988).
In many applications, such as, for example, hydrocarbon production, prior approaches to predictive modeling have involved extremely complex models that require large amounts of data. A primary drawback to these models is that they may require significant computational resources and may take a great deal of time to run, e.g., days to weeks. Additionally, the requirement for large amounts of data may be problematic in that in many cases the data may be unavailable or unreliable. A typical reservoir engineering problem is to determine the injection rates that maximize field production. A rigorous simulation model is typically fit to field data in what is known as a “history match”. In prior art approaches, a man-year or more may be spent parameterizing or tuning the model so that it replicates what the oil field has done historically. After a large fraction of the project budget is used up, e.g., 85%, the reservoir engineers typically make 15 or 20 runs of the simulation and then make their best guess for the injection rates.
Therefore, improved systems and methods for parameterizing or training steady-state models of in-situ reservoirs are desired.